const Controller = require("egg").Controller;

class MonCacheController extends Controller {
  /**
   * 获取缓存名称
   * @param {*} ctx
   */
  async getNames(ctx) {
    ctx.body = await ctx.service.monitor.cache.getNames();
    ctx.status = 200;
  }

  /**
   * 获取键名
   * @param {*} ctx
   */
  async getKeys(ctx) {
    ctx.body = await ctx.service.monitor.cache.getKeys(ctx.params.key);
    ctx.status = 200;
  }

  /**
   * 获取键值
   * @param {*} ctx
   */
  async getValue(ctx) {
    ctx.body = await ctx.service.monitor.cache.getValue(
      ctx.params.keyType,
      ctx.params.key
    );
    ctx.status = 200;
  }

  /**
   * 清除缓存数据后重新载入
   * @param {*} ctx
   */
  async clearCacheAll(ctx) {
    ctx.body = await ctx.service.tool.redis.flushall();
    ctx.status = 200;
  }
}

module.exports = MonCacheController;
